'''
购物系统业务需求V1.0：
购物：
        1.用户的账户里有钱
        2.用户可推一个空的购物车进商场
        3.开始购物，将自己想要的商品添加购物车
        4.打印购物小条
'''
from datetime import datetime
import random
import time

while True:
    a = input("请输入start抽取优惠券或输入q和Q退出购买:")
    if a == "start":
        r = random.randint(0, 9)
        coupons = [["小米su7ultra9折",0.9],["红米k70pro8折",0.8],["Iphone 54 plus7折",0.7],["卫龙辣条8折",0.8],["老干妈5折",0.5],
                   ["小米su7ultra0折",0],["红米k70pro7折",0.7],["Iphone 54 plus4折",0.4],["卫龙辣条买一送一",0.5],["老干妈9折",0.9]]
        ran_cou = coupons[r]
        print("恭喜您获得优惠:",ran_cou[0])
        break
    elif a == "q" or a == "Q":
        print("欢迎下次光临")
        break
    else:
        print("输入格式有误！")

money = ''
while True:
    m = input("请输入您的钱包余额:")
    if m.isdigit():
        money=int(m)
        break
    else:
        print("金额只能输入数字，请重新输入:")

goods = [
    ["小米su7ultra",520000],
    ["红米k70pro",2700],
    ["Iphone 54 plus",45000],
    ["卫龙辣条",2.5],
    ["老干妈",13]]

print("系统正在加载中",end = "")
for i in range(3):
    print(".", end = "")
    time.sleep(1)

car = []

print("--------------------------")
print("编号", "        ", "名称", "      ", "价格")
print("--------------------------")
for index, value in enumerate(goods):
    print("|", index, "       ", value[0], "        ", value[1])
print("--------------------------")

while True:
    choose = input("请输入商品编号或输入q和Q退出:")
    if choose.isdigit():
        choose = int(choose)
        if choose > len(goods) - 1:
            print("您要的商品不存在！请重新输入！")
        else:
            if money >= goods[choose][1]:
                if ran_cou[0].startswith(goods[choose][0]):  # 如果优惠券名称以商品名称开头
                    discount = ran_cou[1]  # 获取折扣
                    discounted_price = goods[choose][1] * discount  # 计算折扣后的价格
                    money -= discounted_price
                    print(f"恭喜，成功添加购物车，并使用了优惠券！您的余额还剩：￥{money:.2f}")
                    car.append(goods[choose])
                else:
                    money -= goods[choose][1]
                    print(f"恭喜，成功添加购物车，您的余额还剩：￥{money:.2f}")
                    car.append(goods[choose])
            else:
                print("对不起，余额不足")
    elif choose  == "q" or choose == "Q":
        print("欢迎下次光临")
        break
    else:
        print("编号只能为数字，请重新输入!")

print("下面是您的购物小条，请拿好：")
print("------------------------------------")
print("时间：", datetime.now().strftime("%Y-%m-%d %H:%M:%S"))  # 显示当前时间
print("------------------------------------")
print("购买商品清单：")
total_cost = 0
for index, item in enumerate(car):
    print(f"{index + 1}. {item[0]}  ￥{item[1]:.2f}")  # 显示商品名称和价格
    total_cost += item[1]
print("------------------------------------")
print(f"购物数量：{len(car)} 件")
print(f"购买总金额：￥{total_cost:.2f}")
print(f"您的钱包余额：￥{money:.2f}")
print("------------------------------------")
'''
第二版：
购物系统业务需求V2.0：
1.现在用户在进商场(之前)需要从10张优惠券中，(随机)抽取一张优惠券。
比如抽到一个空凋的8折优惠券，后面在(购物的过程中)，空凋就可以按照8折后的价格来购买。
2.优化购物小条的人性化打印。
	(购物时间，卡余额，购物数量，购买总商品的价值)。
'''